package leetcode.Leetcode3;

import java.util.HashMap;
import java.util.Map;

class Solution1 {
    public int lengthOfLongestSubstring(String s) {
        if (s.isEmpty()) return 0;
        int max = 1;
        Map<Character,Integer> falgMap=new HashMap<>();//记录index
        int i=0,j=0;
        while (i < s.length()) {
            if (!falgMap.containsKey(s.charAt(i))) {
                falgMap.put(s.charAt(i), i);
                max=Math.max(max,i-j+1);
                i++;
            }else {
                j = Math.max(falgMap.get(s.charAt(i)) + 1, j);
                max=Math.max(max,i-j+1);
                falgMap.put(s.charAt(i), i);
                i++;
            }
//            for (int k = 0; k < falgMap.size(); k++) {
//                System.out.println(falgMap.get(k));
//            }
//            System.out.println();
        }
        System.out.println("max  "+max );
        return max;
    }

    public static void main(String[] args) {
        Solution1 solution1=new Solution1();
        solution1.lengthOfLongestSubstring("abcabcbb");
    }
}
